package BFS_DFS;

/*
static Node node=new Node();

void bfs(int s){
    Queue<node> queue=new LinkedList<Integer>();
    queue.offer(s);
    while(!queue.isEmpty()){
        //取出队首元素top
        //访问队首元素top
        //将队首元素出队
        //将top的下一层结点未曾入队的结点全部入队，并设置为已入队
    }
}
 */

import java.util.LinkedList;
import java.util.Queue;

public class BFS {
    public static void main(String[] args) {
        //add()和remove()方法在失败的时候会抛出异常(不推荐)
        Queue<String> queue = new LinkedList<String>();
        //添加元素
        queue.offer("a");
        queue.offer("b");
        queue.offer("c");
        queue.offer("d");
        System.out.println(queue.size());
        for(String q : queue){
            System.out.println(q);
        }
        System.out.println("===");
        System.out.println("poll="+queue.poll()); //返回第一个元素，并在队列中删除
        for(String q : queue){
            System.out.println(q);
        }
        System.out.println("===");
        System.out.println("element="+queue.element()); //返回第一个元素
        for(String q : queue){
            System.out.println(q);
        }
        System.out.println("===");
        System.out.println("peek="+queue.peek()); //返回第一个元素
        for(String q : queue){
            System.out.println(q);
        }
    }
}
